package fr.afcepf.atod18.restaurants.web;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ValueChangeEvent;
import javax.inject.Inject;





import org.springframework.stereotype.Controller;

import fr.afcepf.atod18.restaurants.entity.TypeHoraire;
import fr.afcepf.atod18.restaurants.service.IGestionHoraire;


@ManagedBean
@SessionScoped
public class TypeHoraireMB {
	@ManagedProperty(value="#{gestionHoraire}")
	private IGestionHoraire gestionHoraire;
	private TypeHoraire typeHoraire;
	private Integer idSelType =null;
	private int id;
	private String libelle;
	private List<TypeHoraire> typesHoraire;
	
	public TypeHoraireMB() {
		System.out.println("TypeHoraireMB");
	}
	@PostConstruct
	public void ChargeListes(){
		System.out.println(gestionHoraire);
		typesHoraire=gestionHoraire.listerTypeHoraire();

	}
	public IGestionHoraire getGestionHoraire() {
		return gestionHoraire;
	}
	public void setGestionHoraire(IGestionHoraire gestionHoraire) {
		this.gestionHoraire = gestionHoraire;
	}
	public TypeHoraire getTypeHoraire() {
		return typeHoraire;
	}
	public void setTypeHoraire(TypeHoraire typeHoraire) {
		this.typeHoraire = typeHoraire;
	}
	public Integer getIdSelType() {
		return idSelType;
	}
	public void setIdSelType(Integer idSelType) {
		this.idSelType = idSelType;
	}
	public List<TypeHoraire> getTypesHoraire() {
		System.out.println("getTypesHoraire");
		typesHoraire=gestionHoraire.listerTypeHoraire();
		return typesHoraire;
	}
	public void setTypesHoraire(List<TypeHoraire> typesHoraire) {
		this.typesHoraire = typesHoraire;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getLibelle() {
		return libelle;
	}
	public void setLibelle(String libelle) {
		this.libelle = libelle;
	}
	public void onTypeChange(ValueChangeEvent event){
		System.out.println("event");
			//idSelType = (Integer) event.getNewValue();
			idSelType = Integer.parseInt(event.getNewValue().toString());
			System.out.println(idSelType);

				if(idSelType!=null && typesHoraire!=null){
					for(TypeHoraire t : this.typesHoraire){
							if(t.getId()==idSelType){
							this.typeHoraire = t;
							this.id=t.getId();
							this.libelle=t.getLibelle();
							System.out.println(libelle);
							break;
						}
					}
				}

	}
	
	public String doAjoutTypeHoraire(){
		System.out.println("ajoutMB");
		typeHoraire=new TypeHoraire();
		System.out.println(typeHoraire);
		typeHoraire.setLibelle(libelle);
		System.out.println(libelle);
			//typesHoraire.add(typeHoraire);
		gestionHoraire.ajouterTypeHoraire(typeHoraire);
		return null;
		
	}
	public String doSauveTypeHoraire(){
		if (! typesHoraire.isEmpty()){
			System.out.println("MB");
		gestionHoraire.modifierTypeHoraire(typeHoraire);
		}
		return null;
		
	}
	public String doSupprimeTypeHoraire(){

		if (! typesHoraire.isEmpty()){
		//typesHoraire.remove(typeHoraire);
			System.out.println("MB");
		gestionHoraire.supprimerTypeHoraire(typeHoraire);
		typeHoraire.setId(0);
		typeHoraire.setLibelle(null);
		}
		return null;
		
	}
}
